MySQL数据库引擎(MyIsAm和InnoDB) |
您所在的位置:网站首页 › mysql 关系数据库 › MySQL数据库引擎(MyIsAm和InnoDB) |
一、数据库引擎
存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式。存储引擎是基于表的,而不是基于库的,所以存储引擎也可被称为表类型。MySQL5.5版本之后默认InnoDB,之前是MyIsAm。
PS: 设置引擎语句: create table [表名] ( ) engine=innodb;查询建表语句: show create table [表名];查询支持引擎语句: show engines; 二、InnoDBInnoDB是一种兼顾高可靠性和高性能的通用存储引擎,在MySQL5.5之后,InnoDB是默认的MySQL存储引擎。 特点: DML(增删改)操作遵循ACID模型(事务的四大特性:原子性、一致性、隔离性、持久性),支持事务;行级锁,提高并发访问性能;支持外键FOREIGN KEY约束,保证数据的完整性和正确性;文件: xxx.ibd: xx代表的是表名,innoDB引擎的每张表都会对应这样一个表空间文件,存储该表的表结构(frm、sdi)、数据和索引。参数: innodb_file_per_table MylSAM是MySQL早期的默认存储引擎。 特点: 不支持事务,不支持外键支持表锁,不支持行锁访问速度快访问速度快文件: XXx.sdi:存储表结构信息XXX.MYD:存储数据XXX.MYI:存储索引![]() InnoDB有三大特性,分别是事务、外键、行级锁,这些都是MyIsAm不支持的 InnoDB是聚簇索引,MyIAm是非聚簇索引 InnoDB不支持全文索引,MyIAm支持 InnoDB支持自增和MVCC模式的读写,MyIAm不支持 MyIsAM的访问速度一般InnoDB快,差异在于innodb的mvcc、行锁会比较消耗性能,还可能有回表的过程(先去辅助索引中查询数据,找到数据对应的key之后,再通过key回表到聚簇索引树查找数据) |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |